package com.xpsoft.oa.model.statistics;


import java.util.HashSet;
import java.util.Set;

import com.google.gson.annotations.Expose;
import com.xpsoft.oa.model.system.AppUser;
import com.xpsoft.oa.model.system.Department;

/**
 * MeetingApply Base Java Bean, base class for the.oa.model, mapped directly to database table
 * 
 * Avoid changing this file if not necessary, will be overwritten. 
 *
 * TODO: add class/table comments
 */
public class MeetingApply extends com.xpsoft.core.model.BaseModel {
	@Expose
    protected Long id;  
	@Expose
	protected Department dept;
	@Expose
	protected AppUser applyUser;
	@Expose
	protected String meetingTitle;
	@Expose
	protected String meetingType;
	@Expose
	protected java.util.Date startTime;
	@Expose
	protected java.util.Date endTime;
	@Expose
	protected AppUser meetingLeader;
	@Expose
	protected AppUser meetingRecorder;
	@Expose
	protected String content;
	@Expose
	protected Integer status;
	@Expose
	protected Long processRunId;
	@Expose
	protected String attachIds;
	@Expose
	protected String attachFiles;
	@Expose
	protected String attendUserNames;
	protected MeetingEvaluation meetingEvaluation;
	protected Set<AppUser> attendUsers = new HashSet<AppUser>();
	
	/**
	 * Default Empty Constructor for class MeetingApply
	 */
	public MeetingApply () {
		super();
	}
	
	/**
	 * Default Key Fields Constructor for class MeetingApply
	 */
	public MeetingApply (
		 Long in_id
        ) {
		this.setId(in_id);
    }

    

	/**
	 * 	 * @return Long
     * @hibernate.id column="id" type="java.lang.Long" generator-class="native"
	 */
	public Long getId() {
		return this.id;
	}
	
	/**
	 * Set the id
	 */	
	public void setId(Long aValue) {
		this.id = aValue;
	}	


	/**
	 * 会议标题	 * @return String
	 * @hibernate.property column="meetingTitle" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getMeetingTitle() {
		return this.meetingTitle;
	}
	
	/**
	 * Set the meetingTitle
	 */	
	public void setMeetingTitle(String aValue) {
		this.meetingTitle = aValue;
	}	

	/**
	 * 会议类型	 * @return String
	 * @hibernate.property column="meetingType" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getMeetingType() {
		return this.meetingType;
	}
	
	/**
	 * Set the meetingType
	 */	
	public void setMeetingType(String aValue) {
		this.meetingType = aValue;
	}	

	/**
	 * 会议开始时间	 * @return java.util.Date
	 * @hibernate.property column="startTime" type="java.util.Date" length="19" not-null="false" unique="false"
	 */
	public java.util.Date getStartTime() {
		return this.startTime;
	}
	
	/**
	 * Set the startTime
	 */	
	public void setStartTime(java.util.Date aValue) {
		this.startTime = aValue;
	}	

	/**
	 * 预计结束时间	 * @return java.util.Date
	 * @hibernate.property column="endTime" type="java.util.Date" length="19" not-null="false" unique="false"
	 */
	public java.util.Date getEndTime() {
		return this.endTime;
	}
	
	/**
	 * Set the endTime
	 */	
	public void setEndTime(java.util.Date aValue) {
		this.endTime = aValue;
	}	


	/**
	 * 会议内容	 * @return String
	 * @hibernate.property column="content" type="java.lang.String" length="65535" not-null="false" unique="false"
	 */
	public String getContent() {
		return this.content;
	}
	
	/**
	 * Set the content
	 */	
	public void setContent(String aValue) {
		this.content = aValue;
	}	

	public Department getDept() {
		return dept;
	}

	public void setDept(Department dept) {
		this.dept = dept;
	}

	/**
	 * 会议状态(0未完成、1已完成)	 * @return Integer
	 * @hibernate.property column="status" type="java.lang.Integer" length="10" not-null="false" unique="false"
	 */
	public Integer getStatus() {
		return this.status;
	}
	
	/**
	 * Set the status
	 */	
	public void setStatus(Integer aValue) {
		this.status = aValue;
	}	

	/**
	 * 	 * @return Long
	 * @hibernate.property column="processRunId" type="java.lang.Long" length="19" not-null="false" unique="false"
	 */
	public Long getProcessRunId() {
		return this.processRunId;
	}
	
	/**
	 * Set the processRunId
	 */	
	public void setProcessRunId(Long aValue) {
		this.processRunId = aValue;
	}	

	/**
	 * 	 * @return String
	 * @hibernate.property column="attachIds" type="java.lang.String" length="200" not-null="false" unique="false"
	 */
	public String getAttachIds() {
		return this.attachIds;
	}
	
	/**
	 * Set the attachIds
	 */	
	public void setAttachIds(String aValue) {
		this.attachIds = aValue;
	}	

	/**
	 * 附件	 * @return String
	 * @hibernate.property column="attachFiles" type="java.lang.String" length="5000" not-null="false" unique="false"
	 */
	public String getAttachFiles() {
		return this.attachFiles;
	}
	
	/**
	 * Set the attachFiles
	 */	
	public void setAttachFiles(String aValue) {
		this.attachFiles = aValue;
	}

	public AppUser getApplyUser() {
		return applyUser;
	}

	public void setApplyUser(AppUser applyUser) {
		this.applyUser = applyUser;
	}

	public AppUser getMeetingLeader() {
		return meetingLeader;
	}

	public void setMeetingLeader(AppUser meetingLeader) {
		this.meetingLeader = meetingLeader;
	}

	public AppUser getMeetingRecorder() {
		return meetingRecorder;
	}

	public void setMeetingRecorder(AppUser meetingRecorder) {
		this.meetingRecorder = meetingRecorder;
	}

	public String getAttendUserNames() {
		return attendUserNames;
	}

	public void setAttendUserNames(String attendUserNames) {
		this.attendUserNames = attendUserNames;
	}

	public Set<AppUser> getAttendUsers() {
		return attendUsers;
	}

	public void setAttendUsers(Set<AppUser> attendUsers) {
		this.attendUsers = attendUsers;
	}

	public MeetingEvaluation getMeetingEvaluation() {
		return meetingEvaluation;
	}

	public void setMeetingEvaluation(MeetingEvaluation meetingEvaluation) {
		this.meetingEvaluation = meetingEvaluation;
	}	


}
